package com.crm.model.entity.opportunityManager;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class OpportunityExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public OpportunityExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andOpportunityIdIsNull() {
            addCriterion("opportunity_id is null");
            return (Criteria) this;
        }

        public Criteria andOpportunityIdIsNotNull() {
            addCriterion("opportunity_id is not null");
            return (Criteria) this;
        }

        public Criteria andOpportunityIdEqualTo(String value) {
            addCriterion("opportunity_id =", value, "opportunityId");
            return (Criteria) this;
        }

        public Criteria andOpportunityIdNotEqualTo(String value) {
            addCriterion("opportunity_id <>", value, "opportunityId");
            return (Criteria) this;
        }

        public Criteria andOpportunityIdGreaterThan(String value) {
            addCriterion("opportunity_id >", value, "opportunityId");
            return (Criteria) this;
        }

        public Criteria andOpportunityIdGreaterThanOrEqualTo(String value) {
            addCriterion("opportunity_id >=", value, "opportunityId");
            return (Criteria) this;
        }

        public Criteria andOpportunityIdLessThan(String value) {
            addCriterion("opportunity_id <", value, "opportunityId");
            return (Criteria) this;
        }

        public Criteria andOpportunityIdLessThanOrEqualTo(String value) {
            addCriterion("opportunity_id <=", value, "opportunityId");
            return (Criteria) this;
        }

        public Criteria andOpportunityIdLike(String value) {
            addCriterion("opportunity_id like", value, "opportunityId");
            return (Criteria) this;
        }

        public Criteria andOpportunityIdNotLike(String value) {
            addCriterion("opportunity_id not like", value, "opportunityId");
            return (Criteria) this;
        }

        public Criteria andOpportunityIdIn(List<String> values) {
            addCriterion("opportunity_id in", values, "opportunityId");
            return (Criteria) this;
        }

        public Criteria andOpportunityIdNotIn(List<String> values) {
            addCriterion("opportunity_id not in", values, "opportunityId");
            return (Criteria) this;
        }

        public Criteria andOpportunityIdBetween(String value1, String value2) {
            addCriterion("opportunity_id between", value1, value2, "opportunityId");
            return (Criteria) this;
        }

        public Criteria andOpportunityIdNotBetween(String value1, String value2) {
            addCriterion("opportunity_id not between", value1, value2, "opportunityId");
            return (Criteria) this;
        }

        public Criteria andOpportunityTitleIsNull() {
            addCriterion("opportunity_title is null");
            return (Criteria) this;
        }

        public Criteria andOpportunityTitleIsNotNull() {
            addCriterion("opportunity_title is not null");
            return (Criteria) this;
        }

        public Criteria andOpportunityTitleEqualTo(String value) {
            addCriterion("opportunity_title =", value, "opportunityTitle");
            return (Criteria) this;
        }

        public Criteria andOpportunityTitleNotEqualTo(String value) {
            addCriterion("opportunity_title <>", value, "opportunityTitle");
            return (Criteria) this;
        }

        public Criteria andOpportunityTitleGreaterThan(String value) {
            addCriterion("opportunity_title >", value, "opportunityTitle");
            return (Criteria) this;
        }

        public Criteria andOpportunityTitleGreaterThanOrEqualTo(String value) {
            addCriterion("opportunity_title >=", value, "opportunityTitle");
            return (Criteria) this;
        }

        public Criteria andOpportunityTitleLessThan(String value) {
            addCriterion("opportunity_title <", value, "opportunityTitle");
            return (Criteria) this;
        }

        public Criteria andOpportunityTitleLessThanOrEqualTo(String value) {
            addCriterion("opportunity_title <=", value, "opportunityTitle");
            return (Criteria) this;
        }

        public Criteria andOpportunityTitleLike(String value) {
            addCriterion("opportunity_title like", value, "opportunityTitle");
            return (Criteria) this;
        }

        public Criteria andOpportunityTitleNotLike(String value) {
            addCriterion("opportunity_title not like", value, "opportunityTitle");
            return (Criteria) this;
        }

        public Criteria andOpportunityTitleIn(List<String> values) {
            addCriterion("opportunity_title in", values, "opportunityTitle");
            return (Criteria) this;
        }

        public Criteria andOpportunityTitleNotIn(List<String> values) {
            addCriterion("opportunity_title not in", values, "opportunityTitle");
            return (Criteria) this;
        }

        public Criteria andOpportunityTitleBetween(String value1, String value2) {
            addCriterion("opportunity_title between", value1, value2, "opportunityTitle");
            return (Criteria) this;
        }

        public Criteria andOpportunityTitleNotBetween(String value1, String value2) {
            addCriterion("opportunity_title not between", value1, value2, "opportunityTitle");
            return (Criteria) this;
        }

        public Criteria andOpportunityThemeIsNull() {
            addCriterion("opportunity_theme is null");
            return (Criteria) this;
        }

        public Criteria andOpportunityThemeIsNotNull() {
            addCriterion("opportunity_theme is not null");
            return (Criteria) this;
        }

        public Criteria andOpportunityThemeEqualTo(String value) {
            addCriterion("opportunity_theme =", value, "opportunityTheme");
            return (Criteria) this;
        }

        public Criteria andOpportunityThemeNotEqualTo(String value) {
            addCriterion("opportunity_theme <>", value, "opportunityTheme");
            return (Criteria) this;
        }

        public Criteria andOpportunityThemeGreaterThan(String value) {
            addCriterion("opportunity_theme >", value, "opportunityTheme");
            return (Criteria) this;
        }

        public Criteria andOpportunityThemeGreaterThanOrEqualTo(String value) {
            addCriterion("opportunity_theme >=", value, "opportunityTheme");
            return (Criteria) this;
        }

        public Criteria andOpportunityThemeLessThan(String value) {
            addCriterion("opportunity_theme <", value, "opportunityTheme");
            return (Criteria) this;
        }

        public Criteria andOpportunityThemeLessThanOrEqualTo(String value) {
            addCriterion("opportunity_theme <=", value, "opportunityTheme");
            return (Criteria) this;
        }

        public Criteria andOpportunityThemeLike(String value) {
            addCriterion("opportunity_theme like", value, "opportunityTheme");
            return (Criteria) this;
        }

        public Criteria andOpportunityThemeNotLike(String value) {
            addCriterion("opportunity_theme not like", value, "opportunityTheme");
            return (Criteria) this;
        }

        public Criteria andOpportunityThemeIn(List<String> values) {
            addCriterion("opportunity_theme in", values, "opportunityTheme");
            return (Criteria) this;
        }

        public Criteria andOpportunityThemeNotIn(List<String> values) {
            addCriterion("opportunity_theme not in", values, "opportunityTheme");
            return (Criteria) this;
        }

        public Criteria andOpportunityThemeBetween(String value1, String value2) {
            addCriterion("opportunity_theme between", value1, value2, "opportunityTheme");
            return (Criteria) this;
        }

        public Criteria andOpportunityThemeNotBetween(String value1, String value2) {
            addCriterion("opportunity_theme not between", value1, value2, "opportunityTheme");
            return (Criteria) this;
        }

        public Criteria andOpportunityContactIsNull() {
            addCriterion("opportunity_contact is null");
            return (Criteria) this;
        }

        public Criteria andOpportunityContactIsNotNull() {
            addCriterion("opportunity_contact is not null");
            return (Criteria) this;
        }

        public Criteria andOpportunityContactEqualTo(String value) {
            addCriterion("opportunity_contact =", value, "opportunityContact");
            return (Criteria) this;
        }

        public Criteria andOpportunityContactNotEqualTo(String value) {
            addCriterion("opportunity_contact <>", value, "opportunityContact");
            return (Criteria) this;
        }

        public Criteria andOpportunityContactGreaterThan(String value) {
            addCriterion("opportunity_contact >", value, "opportunityContact");
            return (Criteria) this;
        }

        public Criteria andOpportunityContactGreaterThanOrEqualTo(String value) {
            addCriterion("opportunity_contact >=", value, "opportunityContact");
            return (Criteria) this;
        }

        public Criteria andOpportunityContactLessThan(String value) {
            addCriterion("opportunity_contact <", value, "opportunityContact");
            return (Criteria) this;
        }

        public Criteria andOpportunityContactLessThanOrEqualTo(String value) {
            addCriterion("opportunity_contact <=", value, "opportunityContact");
            return (Criteria) this;
        }

        public Criteria andOpportunityContactLike(String value) {
            addCriterion("opportunity_contact like", value, "opportunityContact");
            return (Criteria) this;
        }

        public Criteria andOpportunityContactNotLike(String value) {
            addCriterion("opportunity_contact not like", value, "opportunityContact");
            return (Criteria) this;
        }

        public Criteria andOpportunityContactIn(List<String> values) {
            addCriterion("opportunity_contact in", values, "opportunityContact");
            return (Criteria) this;
        }

        public Criteria andOpportunityContactNotIn(List<String> values) {
            addCriterion("opportunity_contact not in", values, "opportunityContact");
            return (Criteria) this;
        }

        public Criteria andOpportunityContactBetween(String value1, String value2) {
            addCriterion("opportunity_contact between", value1, value2, "opportunityContact");
            return (Criteria) this;
        }

        public Criteria andOpportunityContactNotBetween(String value1, String value2) {
            addCriterion("opportunity_contact not between", value1, value2, "opportunityContact");
            return (Criteria) this;
        }

        public Criteria andOpportunityStatusIsNull() {
            addCriterion("opportunity_status is null");
            return (Criteria) this;
        }

        public Criteria andOpportunityStatusIsNotNull() {
            addCriterion("opportunity_status is not null");
            return (Criteria) this;
        }

        public Criteria andOpportunityStatusEqualTo(String value) {
            addCriterion("opportunity_status =", value, "opportunityStatus");
            return (Criteria) this;
        }

        public Criteria andOpportunityStatusNotEqualTo(String value) {
            addCriterion("opportunity_status <>", value, "opportunityStatus");
            return (Criteria) this;
        }

        public Criteria andOpportunityStatusGreaterThan(String value) {
            addCriterion("opportunity_status >", value, "opportunityStatus");
            return (Criteria) this;
        }

        public Criteria andOpportunityStatusGreaterThanOrEqualTo(String value) {
            addCriterion("opportunity_status >=", value, "opportunityStatus");
            return (Criteria) this;
        }

        public Criteria andOpportunityStatusLessThan(String value) {
            addCriterion("opportunity_status <", value, "opportunityStatus");
            return (Criteria) this;
        }

        public Criteria andOpportunityStatusLessThanOrEqualTo(String value) {
            addCriterion("opportunity_status <=", value, "opportunityStatus");
            return (Criteria) this;
        }

        public Criteria andOpportunityStatusLike(String value) {
            addCriterion("opportunity_status like", value, "opportunityStatus");
            return (Criteria) this;
        }

        public Criteria andOpportunityStatusNotLike(String value) {
            addCriterion("opportunity_status not like", value, "opportunityStatus");
            return (Criteria) this;
        }

        public Criteria andOpportunityStatusIn(List<String> values) {
            addCriterion("opportunity_status in", values, "opportunityStatus");
            return (Criteria) this;
        }

        public Criteria andOpportunityStatusNotIn(List<String> values) {
            addCriterion("opportunity_status not in", values, "opportunityStatus");
            return (Criteria) this;
        }

        public Criteria andOpportunityStatusBetween(String value1, String value2) {
            addCriterion("opportunity_status between", value1, value2, "opportunityStatus");
            return (Criteria) this;
        }

        public Criteria andOpportunityStatusNotBetween(String value1, String value2) {
            addCriterion("opportunity_status not between", value1, value2, "opportunityStatus");
            return (Criteria) this;
        }

        public Criteria andOpportunityTpIsNull() {
            addCriterion("opportunity_tp is null");
            return (Criteria) this;
        }

        public Criteria andOpportunityTpIsNotNull() {
            addCriterion("opportunity_tp is not null");
            return (Criteria) this;
        }

        public Criteria andOpportunityTpEqualTo(String value) {
            addCriterion("opportunity_tp =", value, "opportunityTp");
            return (Criteria) this;
        }

        public Criteria andOpportunityTpNotEqualTo(String value) {
            addCriterion("opportunity_tp <>", value, "opportunityTp");
            return (Criteria) this;
        }

        public Criteria andOpportunityTpGreaterThan(String value) {
            addCriterion("opportunity_tp >", value, "opportunityTp");
            return (Criteria) this;
        }

        public Criteria andOpportunityTpGreaterThanOrEqualTo(String value) {
            addCriterion("opportunity_tp >=", value, "opportunityTp");
            return (Criteria) this;
        }

        public Criteria andOpportunityTpLessThan(String value) {
            addCriterion("opportunity_tp <", value, "opportunityTp");
            return (Criteria) this;
        }

        public Criteria andOpportunityTpLessThanOrEqualTo(String value) {
            addCriterion("opportunity_tp <=", value, "opportunityTp");
            return (Criteria) this;
        }

        public Criteria andOpportunityTpLike(String value) {
            addCriterion("opportunity_tp like", value, "opportunityTp");
            return (Criteria) this;
        }

        public Criteria andOpportunityTpNotLike(String value) {
            addCriterion("opportunity_tp not like", value, "opportunityTp");
            return (Criteria) this;
        }

        public Criteria andOpportunityTpIn(List<String> values) {
            addCriterion("opportunity_tp in", values, "opportunityTp");
            return (Criteria) this;
        }

        public Criteria andOpportunityTpNotIn(List<String> values) {
            addCriterion("opportunity_tp not in", values, "opportunityTp");
            return (Criteria) this;
        }

        public Criteria andOpportunityTpBetween(String value1, String value2) {
            addCriterion("opportunity_tp between", value1, value2, "opportunityTp");
            return (Criteria) this;
        }

        public Criteria andOpportunityTpNotBetween(String value1, String value2) {
            addCriterion("opportunity_tp not between", value1, value2, "opportunityTp");
            return (Criteria) this;
        }

        public Criteria andLostOrderFriendIsNull() {
            addCriterion("lost_order_friend is null");
            return (Criteria) this;
        }

        public Criteria andLostOrderFriendIsNotNull() {
            addCriterion("lost_order_friend is not null");
            return (Criteria) this;
        }

        public Criteria andLostOrderFriendEqualTo(String value) {
            addCriterion("lost_order_friend =", value, "lostOrderFriend");
            return (Criteria) this;
        }

        public Criteria andLostOrderFriendNotEqualTo(String value) {
            addCriterion("lost_order_friend <>", value, "lostOrderFriend");
            return (Criteria) this;
        }

        public Criteria andLostOrderFriendGreaterThan(String value) {
            addCriterion("lost_order_friend >", value, "lostOrderFriend");
            return (Criteria) this;
        }

        public Criteria andLostOrderFriendGreaterThanOrEqualTo(String value) {
            addCriterion("lost_order_friend >=", value, "lostOrderFriend");
            return (Criteria) this;
        }

        public Criteria andLostOrderFriendLessThan(String value) {
            addCriterion("lost_order_friend <", value, "lostOrderFriend");
            return (Criteria) this;
        }

        public Criteria andLostOrderFriendLessThanOrEqualTo(String value) {
            addCriterion("lost_order_friend <=", value, "lostOrderFriend");
            return (Criteria) this;
        }

        public Criteria andLostOrderFriendLike(String value) {
            addCriterion("lost_order_friend like", value, "lostOrderFriend");
            return (Criteria) this;
        }

        public Criteria andLostOrderFriendNotLike(String value) {
            addCriterion("lost_order_friend not like", value, "lostOrderFriend");
            return (Criteria) this;
        }

        public Criteria andLostOrderFriendIn(List<String> values) {
            addCriterion("lost_order_friend in", values, "lostOrderFriend");
            return (Criteria) this;
        }

        public Criteria andLostOrderFriendNotIn(List<String> values) {
            addCriterion("lost_order_friend not in", values, "lostOrderFriend");
            return (Criteria) this;
        }

        public Criteria andLostOrderFriendBetween(String value1, String value2) {
            addCriterion("lost_order_friend between", value1, value2, "lostOrderFriend");
            return (Criteria) this;
        }

        public Criteria andLostOrderFriendNotBetween(String value1, String value2) {
            addCriterion("lost_order_friend not between", value1, value2, "lostOrderFriend");
            return (Criteria) this;
        }

        public Criteria andEstimatedSigningTimeIsNull() {
            addCriterion("estimated_signing_time is null");
            return (Criteria) this;
        }

        public Criteria andEstimatedSigningTimeIsNotNull() {
            addCriterion("estimated_signing_time is not null");
            return (Criteria) this;
        }

        public Criteria andEstimatedSigningTimeEqualTo(Date value) {
            addCriterion("estimated_signing_time =", value, "estimatedSigningTime");
            return (Criteria) this;
        }

        public Criteria andEstimatedSigningTimeNotEqualTo(Date value) {
            addCriterion("estimated_signing_time <>", value, "estimatedSigningTime");
            return (Criteria) this;
        }

        public Criteria andEstimatedSigningTimeGreaterThan(Date value) {
            addCriterion("estimated_signing_time >", value, "estimatedSigningTime");
            return (Criteria) this;
        }

        public Criteria andEstimatedSigningTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("estimated_signing_time >=", value, "estimatedSigningTime");
            return (Criteria) this;
        }

        public Criteria andEstimatedSigningTimeLessThan(Date value) {
            addCriterion("estimated_signing_time <", value, "estimatedSigningTime");
            return (Criteria) this;
        }

        public Criteria andEstimatedSigningTimeLessThanOrEqualTo(Date value) {
            addCriterion("estimated_signing_time <=", value, "estimatedSigningTime");
            return (Criteria) this;
        }

        public Criteria andEstimatedSigningTimeIn(List<Date> values) {
            addCriterion("estimated_signing_time in", values, "estimatedSigningTime");
            return (Criteria) this;
        }

        public Criteria andEstimatedSigningTimeNotIn(List<Date> values) {
            addCriterion("estimated_signing_time not in", values, "estimatedSigningTime");
            return (Criteria) this;
        }

        public Criteria andEstimatedSigningTimeBetween(Date value1, Date value2) {
            addCriterion("estimated_signing_time between", value1, value2, "estimatedSigningTime");
            return (Criteria) this;
        }

        public Criteria andEstimatedSigningTimeNotBetween(Date value1, Date value2) {
            addCriterion("estimated_signing_time not between", value1, value2, "estimatedSigningTime");
            return (Criteria) this;
        }

        public Criteria andLastFollowUpTimeIsNull() {
            addCriterion("last_follow_up_time is null");
            return (Criteria) this;
        }

        public Criteria andLastFollowUpTimeIsNotNull() {
            addCriterion("last_follow_up_time is not null");
            return (Criteria) this;
        }

        public Criteria andLastFollowUpTimeEqualTo(Date value) {
            addCriterion("last_follow_up_time =", value, "lastFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andLastFollowUpTimeNotEqualTo(Date value) {
            addCriterion("last_follow_up_time <>", value, "lastFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andLastFollowUpTimeGreaterThan(Date value) {
            addCriterion("last_follow_up_time >", value, "lastFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andLastFollowUpTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("last_follow_up_time >=", value, "lastFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andLastFollowUpTimeLessThan(Date value) {
            addCriterion("last_follow_up_time <", value, "lastFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andLastFollowUpTimeLessThanOrEqualTo(Date value) {
            addCriterion("last_follow_up_time <=", value, "lastFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andLastFollowUpTimeIn(List<Date> values) {
            addCriterion("last_follow_up_time in", values, "lastFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andLastFollowUpTimeNotIn(List<Date> values) {
            addCriterion("last_follow_up_time not in", values, "lastFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andLastFollowUpTimeBetween(Date value1, Date value2) {
            addCriterion("last_follow_up_time between", value1, value2, "lastFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andLastFollowUpTimeNotBetween(Date value1, Date value2) {
            addCriterion("last_follow_up_time not between", value1, value2, "lastFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andNextFollowUpTimeIsNull() {
            addCriterion("next_follow_up_time is null");
            return (Criteria) this;
        }

        public Criteria andNextFollowUpTimeIsNotNull() {
            addCriterion("next_follow_up_time is not null");
            return (Criteria) this;
        }

        public Criteria andNextFollowUpTimeEqualTo(Date value) {
            addCriterion("next_follow_up_time =", value, "nextFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andNextFollowUpTimeNotEqualTo(Date value) {
            addCriterion("next_follow_up_time <>", value, "nextFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andNextFollowUpTimeGreaterThan(Date value) {
            addCriterion("next_follow_up_time >", value, "nextFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andNextFollowUpTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("next_follow_up_time >=", value, "nextFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andNextFollowUpTimeLessThan(Date value) {
            addCriterion("next_follow_up_time <", value, "nextFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andNextFollowUpTimeLessThanOrEqualTo(Date value) {
            addCriterion("next_follow_up_time <=", value, "nextFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andNextFollowUpTimeIn(List<Date> values) {
            addCriterion("next_follow_up_time in", values, "nextFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andNextFollowUpTimeNotIn(List<Date> values) {
            addCriterion("next_follow_up_time not in", values, "nextFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andNextFollowUpTimeBetween(Date value1, Date value2) {
            addCriterion("next_follow_up_time between", value1, value2, "nextFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andNextFollowUpTimeNotBetween(Date value1, Date value2) {
            addCriterion("next_follow_up_time not between", value1, value2, "nextFollowUpTime");
            return (Criteria) this;
        }

        public Criteria andEstimatedSalesAmountIsNull() {
            addCriterion("estimated_sales_amount is null");
            return (Criteria) this;
        }

        public Criteria andEstimatedSalesAmountIsNotNull() {
            addCriterion("estimated_sales_amount is not null");
            return (Criteria) this;
        }

        public Criteria andEstimatedSalesAmountEqualTo(BigDecimal value) {
            addCriterion("estimated_sales_amount =", value, "estimatedSalesAmount");
            return (Criteria) this;
        }

        public Criteria andEstimatedSalesAmountNotEqualTo(BigDecimal value) {
            addCriterion("estimated_sales_amount <>", value, "estimatedSalesAmount");
            return (Criteria) this;
        }

        public Criteria andEstimatedSalesAmountGreaterThan(BigDecimal value) {
            addCriterion("estimated_sales_amount >", value, "estimatedSalesAmount");
            return (Criteria) this;
        }

        public Criteria andEstimatedSalesAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("estimated_sales_amount >=", value, "estimatedSalesAmount");
            return (Criteria) this;
        }

        public Criteria andEstimatedSalesAmountLessThan(BigDecimal value) {
            addCriterion("estimated_sales_amount <", value, "estimatedSalesAmount");
            return (Criteria) this;
        }

        public Criteria andEstimatedSalesAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("estimated_sales_amount <=", value, "estimatedSalesAmount");
            return (Criteria) this;
        }

        public Criteria andEstimatedSalesAmountIn(List<BigDecimal> values) {
            addCriterion("estimated_sales_amount in", values, "estimatedSalesAmount");
            return (Criteria) this;
        }

        public Criteria andEstimatedSalesAmountNotIn(List<BigDecimal> values) {
            addCriterion("estimated_sales_amount not in", values, "estimatedSalesAmount");
            return (Criteria) this;
        }

        public Criteria andEstimatedSalesAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("estimated_sales_amount between", value1, value2, "estimatedSalesAmount");
            return (Criteria) this;
        }

        public Criteria andEstimatedSalesAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("estimated_sales_amount not between", value1, value2, "estimatedSalesAmount");
            return (Criteria) this;
        }

        public Criteria andPossibilitySigningIsNull() {
            addCriterion("possibility_signing is null");
            return (Criteria) this;
        }

        public Criteria andPossibilitySigningIsNotNull() {
            addCriterion("possibility_signing is not null");
            return (Criteria) this;
        }

        public Criteria andPossibilitySigningEqualTo(String value) {
            addCriterion("possibility_signing =", value, "possibilitySigning");
            return (Criteria) this;
        }

        public Criteria andPossibilitySigningNotEqualTo(String value) {
            addCriterion("possibility_signing <>", value, "possibilitySigning");
            return (Criteria) this;
        }

        public Criteria andPossibilitySigningGreaterThan(String value) {
            addCriterion("possibility_signing >", value, "possibilitySigning");
            return (Criteria) this;
        }

        public Criteria andPossibilitySigningGreaterThanOrEqualTo(String value) {
            addCriterion("possibility_signing >=", value, "possibilitySigning");
            return (Criteria) this;
        }

        public Criteria andPossibilitySigningLessThan(String value) {
            addCriterion("possibility_signing <", value, "possibilitySigning");
            return (Criteria) this;
        }

        public Criteria andPossibilitySigningLessThanOrEqualTo(String value) {
            addCriterion("possibility_signing <=", value, "possibilitySigning");
            return (Criteria) this;
        }

        public Criteria andPossibilitySigningLike(String value) {
            addCriterion("possibility_signing like", value, "possibilitySigning");
            return (Criteria) this;
        }

        public Criteria andPossibilitySigningNotLike(String value) {
            addCriterion("possibility_signing not like", value, "possibilitySigning");
            return (Criteria) this;
        }

        public Criteria andPossibilitySigningIn(List<String> values) {
            addCriterion("possibility_signing in", values, "possibilitySigning");
            return (Criteria) this;
        }

        public Criteria andPossibilitySigningNotIn(List<String> values) {
            addCriterion("possibility_signing not in", values, "possibilitySigning");
            return (Criteria) this;
        }

        public Criteria andPossibilitySigningBetween(String value1, String value2) {
            addCriterion("possibility_signing between", value1, value2, "possibilitySigning");
            return (Criteria) this;
        }

        public Criteria andPossibilitySigningNotBetween(String value1, String value2) {
            addCriterion("possibility_signing not between", value1, value2, "possibilitySigning");
            return (Criteria) this;
        }

        public Criteria andOpportunityTypeIsNull() {
            addCriterion("opportunity_type is null");
            return (Criteria) this;
        }

        public Criteria andOpportunityTypeIsNotNull() {
            addCriterion("opportunity_type is not null");
            return (Criteria) this;
        }

        public Criteria andOpportunityTypeEqualTo(String value) {
            addCriterion("opportunity_type =", value, "opportunityType");
            return (Criteria) this;
        }

        public Criteria andOpportunityTypeNotEqualTo(String value) {
            addCriterion("opportunity_type <>", value, "opportunityType");
            return (Criteria) this;
        }

        public Criteria andOpportunityTypeGreaterThan(String value) {
            addCriterion("opportunity_type >", value, "opportunityType");
            return (Criteria) this;
        }

        public Criteria andOpportunityTypeGreaterThanOrEqualTo(String value) {
            addCriterion("opportunity_type >=", value, "opportunityType");
            return (Criteria) this;
        }

        public Criteria andOpportunityTypeLessThan(String value) {
            addCriterion("opportunity_type <", value, "opportunityType");
            return (Criteria) this;
        }

        public Criteria andOpportunityTypeLessThanOrEqualTo(String value) {
            addCriterion("opportunity_type <=", value, "opportunityType");
            return (Criteria) this;
        }

        public Criteria andOpportunityTypeLike(String value) {
            addCriterion("opportunity_type like", value, "opportunityType");
            return (Criteria) this;
        }

        public Criteria andOpportunityTypeNotLike(String value) {
            addCriterion("opportunity_type not like", value, "opportunityType");
            return (Criteria) this;
        }

        public Criteria andOpportunityTypeIn(List<String> values) {
            addCriterion("opportunity_type in", values, "opportunityType");
            return (Criteria) this;
        }

        public Criteria andOpportunityTypeNotIn(List<String> values) {
            addCriterion("opportunity_type not in", values, "opportunityType");
            return (Criteria) this;
        }

        public Criteria andOpportunityTypeBetween(String value1, String value2) {
            addCriterion("opportunity_type between", value1, value2, "opportunityType");
            return (Criteria) this;
        }

        public Criteria andOpportunityTypeNotBetween(String value1, String value2) {
            addCriterion("opportunity_type not between", value1, value2, "opportunityType");
            return (Criteria) this;
        }

        public Criteria andOpportunityAcquisitionTimeIsNull() {
            addCriterion("opportunity_acquisition_time is null");
            return (Criteria) this;
        }

        public Criteria andOpportunityAcquisitionTimeIsNotNull() {
            addCriterion("opportunity_acquisition_time is not null");
            return (Criteria) this;
        }

        public Criteria andOpportunityAcquisitionTimeEqualTo(Date value) {
            addCriterion("opportunity_acquisition_time =", value, "opportunityAcquisitionTime");
            return (Criteria) this;
        }

        public Criteria andOpportunityAcquisitionTimeNotEqualTo(Date value) {
            addCriterion("opportunity_acquisition_time <>", value, "opportunityAcquisitionTime");
            return (Criteria) this;
        }

        public Criteria andOpportunityAcquisitionTimeGreaterThan(Date value) {
            addCriterion("opportunity_acquisition_time >", value, "opportunityAcquisitionTime");
            return (Criteria) this;
        }

        public Criteria andOpportunityAcquisitionTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("opportunity_acquisition_time >=", value, "opportunityAcquisitionTime");
            return (Criteria) this;
        }

        public Criteria andOpportunityAcquisitionTimeLessThan(Date value) {
            addCriterion("opportunity_acquisition_time <", value, "opportunityAcquisitionTime");
            return (Criteria) this;
        }

        public Criteria andOpportunityAcquisitionTimeLessThanOrEqualTo(Date value) {
            addCriterion("opportunity_acquisition_time <=", value, "opportunityAcquisitionTime");
            return (Criteria) this;
        }

        public Criteria andOpportunityAcquisitionTimeIn(List<Date> values) {
            addCriterion("opportunity_acquisition_time in", values, "opportunityAcquisitionTime");
            return (Criteria) this;
        }

        public Criteria andOpportunityAcquisitionTimeNotIn(List<Date> values) {
            addCriterion("opportunity_acquisition_time not in", values, "opportunityAcquisitionTime");
            return (Criteria) this;
        }

        public Criteria andOpportunityAcquisitionTimeBetween(Date value1, Date value2) {
            addCriterion("opportunity_acquisition_time between", value1, value2, "opportunityAcquisitionTime");
            return (Criteria) this;
        }

        public Criteria andOpportunityAcquisitionTimeNotBetween(Date value1, Date value2) {
            addCriterion("opportunity_acquisition_time not between", value1, value2, "opportunityAcquisitionTime");
            return (Criteria) this;
        }

        public Criteria andOpportunitySourceIsNull() {
            addCriterion("opportunity_source is null");
            return (Criteria) this;
        }

        public Criteria andOpportunitySourceIsNotNull() {
            addCriterion("opportunity_source is not null");
            return (Criteria) this;
        }

        public Criteria andOpportunitySourceEqualTo(String value) {
            addCriterion("opportunity_source =", value, "opportunitySource");
            return (Criteria) this;
        }

        public Criteria andOpportunitySourceNotEqualTo(String value) {
            addCriterion("opportunity_source <>", value, "opportunitySource");
            return (Criteria) this;
        }

        public Criteria andOpportunitySourceGreaterThan(String value) {
            addCriterion("opportunity_source >", value, "opportunitySource");
            return (Criteria) this;
        }

        public Criteria andOpportunitySourceGreaterThanOrEqualTo(String value) {
            addCriterion("opportunity_source >=", value, "opportunitySource");
            return (Criteria) this;
        }

        public Criteria andOpportunitySourceLessThan(String value) {
            addCriterion("opportunity_source <", value, "opportunitySource");
            return (Criteria) this;
        }

        public Criteria andOpportunitySourceLessThanOrEqualTo(String value) {
            addCriterion("opportunity_source <=", value, "opportunitySource");
            return (Criteria) this;
        }

        public Criteria andOpportunitySourceLike(String value) {
            addCriterion("opportunity_source like", value, "opportunitySource");
            return (Criteria) this;
        }

        public Criteria andOpportunitySourceNotLike(String value) {
            addCriterion("opportunity_source not like", value, "opportunitySource");
            return (Criteria) this;
        }

        public Criteria andOpportunitySourceIn(List<String> values) {
            addCriterion("opportunity_source in", values, "opportunitySource");
            return (Criteria) this;
        }

        public Criteria andOpportunitySourceNotIn(List<String> values) {
            addCriterion("opportunity_source not in", values, "opportunitySource");
            return (Criteria) this;
        }

        public Criteria andOpportunitySourceBetween(String value1, String value2) {
            addCriterion("opportunity_source between", value1, value2, "opportunitySource");
            return (Criteria) this;
        }

        public Criteria andOpportunitySourceNotBetween(String value1, String value2) {
            addCriterion("opportunity_source not between", value1, value2, "opportunitySource");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion("remarks is null");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion("remarks is not null");
            return (Criteria) this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion("remarks =", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion("remarks <>", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion("remarks >", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion("remarks >=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion("remarks <", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion("remarks <=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLike(String value) {
            addCriterion("remarks like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotLike(String value) {
            addCriterion("remarks not like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksIn(List<String> values) {
            addCriterion("remarks in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotIn(List<String> values) {
            addCriterion("remarks not in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion("remarks between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion("remarks not between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andCreatePeopleIdIsNull() {
            addCriterion("create_people_id is null");
            return (Criteria) this;
        }

        public Criteria andCreatePeopleIdIsNotNull() {
            addCriterion("create_people_id is not null");
            return (Criteria) this;
        }

        public Criteria andCreatePeopleIdEqualTo(String value) {
            addCriterion("create_people_id =", value, "createPeopleId");
            return (Criteria) this;
        }

        public Criteria andCreatePeopleIdNotEqualTo(String value) {
            addCriterion("create_people_id <>", value, "createPeopleId");
            return (Criteria) this;
        }

        public Criteria andCreatePeopleIdGreaterThan(String value) {
            addCriterion("create_people_id >", value, "createPeopleId");
            return (Criteria) this;
        }

        public Criteria andCreatePeopleIdGreaterThanOrEqualTo(String value) {
            addCriterion("create_people_id >=", value, "createPeopleId");
            return (Criteria) this;
        }

        public Criteria andCreatePeopleIdLessThan(String value) {
            addCriterion("create_people_id <", value, "createPeopleId");
            return (Criteria) this;
        }

        public Criteria andCreatePeopleIdLessThanOrEqualTo(String value) {
            addCriterion("create_people_id <=", value, "createPeopleId");
            return (Criteria) this;
        }

        public Criteria andCreatePeopleIdLike(String value) {
            addCriterion("create_people_id like", value, "createPeopleId");
            return (Criteria) this;
        }

        public Criteria andCreatePeopleIdNotLike(String value) {
            addCriterion("create_people_id not like", value, "createPeopleId");
            return (Criteria) this;
        }

        public Criteria andCreatePeopleIdIn(List<String> values) {
            addCriterion("create_people_id in", values, "createPeopleId");
            return (Criteria) this;
        }

        public Criteria andCreatePeopleIdNotIn(List<String> values) {
            addCriterion("create_people_id not in", values, "createPeopleId");
            return (Criteria) this;
        }

        public Criteria andCreatePeopleIdBetween(String value1, String value2) {
            addCriterion("create_people_id between", value1, value2, "createPeopleId");
            return (Criteria) this;
        }

        public Criteria andCreatePeopleIdNotBetween(String value1, String value2) {
            addCriterion("create_people_id not between", value1, value2, "createPeopleId");
            return (Criteria) this;
        }

        public Criteria andCreateTmIsNull() {
            addCriterion("create_tm is null");
            return (Criteria) this;
        }

        public Criteria andCreateTmIsNotNull() {
            addCriterion("create_tm is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTmEqualTo(Date value) {
            addCriterion("create_tm =", value, "createTm");
            return (Criteria) this;
        }

        public Criteria andCreateTmNotEqualTo(Date value) {
            addCriterion("create_tm <>", value, "createTm");
            return (Criteria) this;
        }

        public Criteria andCreateTmGreaterThan(Date value) {
            addCriterion("create_tm >", value, "createTm");
            return (Criteria) this;
        }

        public Criteria andCreateTmGreaterThanOrEqualTo(Date value) {
            addCriterion("create_tm >=", value, "createTm");
            return (Criteria) this;
        }

        public Criteria andCreateTmLessThan(Date value) {
            addCriterion("create_tm <", value, "createTm");
            return (Criteria) this;
        }

        public Criteria andCreateTmLessThanOrEqualTo(Date value) {
            addCriterion("create_tm <=", value, "createTm");
            return (Criteria) this;
        }

        public Criteria andCreateTmIn(List<Date> values) {
            addCriterion("create_tm in", values, "createTm");
            return (Criteria) this;
        }

        public Criteria andCreateTmNotIn(List<Date> values) {
            addCriterion("create_tm not in", values, "createTm");
            return (Criteria) this;
        }

        public Criteria andCreateTmBetween(Date value1, Date value2) {
            addCriterion("create_tm between", value1, value2, "createTm");
            return (Criteria) this;
        }

        public Criteria andCreateTmNotBetween(Date value1, Date value2) {
            addCriterion("create_tm not between", value1, value2, "createTm");
            return (Criteria) this;
        }

        public Criteria andUpdatePeopleIdIsNull() {
            addCriterion("update_people_id is null");
            return (Criteria) this;
        }

        public Criteria andUpdatePeopleIdIsNotNull() {
            addCriterion("update_people_id is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatePeopleIdEqualTo(String value) {
            addCriterion("update_people_id =", value, "updatePeopleId");
            return (Criteria) this;
        }

        public Criteria andUpdatePeopleIdNotEqualTo(String value) {
            addCriterion("update_people_id <>", value, "updatePeopleId");
            return (Criteria) this;
        }

        public Criteria andUpdatePeopleIdGreaterThan(String value) {
            addCriterion("update_people_id >", value, "updatePeopleId");
            return (Criteria) this;
        }

        public Criteria andUpdatePeopleIdGreaterThanOrEqualTo(String value) {
            addCriterion("update_people_id >=", value, "updatePeopleId");
            return (Criteria) this;
        }

        public Criteria andUpdatePeopleIdLessThan(String value) {
            addCriterion("update_people_id <", value, "updatePeopleId");
            return (Criteria) this;
        }

        public Criteria andUpdatePeopleIdLessThanOrEqualTo(String value) {
            addCriterion("update_people_id <=", value, "updatePeopleId");
            return (Criteria) this;
        }

        public Criteria andUpdatePeopleIdLike(String value) {
            addCriterion("update_people_id like", value, "updatePeopleId");
            return (Criteria) this;
        }

        public Criteria andUpdatePeopleIdNotLike(String value) {
            addCriterion("update_people_id not like", value, "updatePeopleId");
            return (Criteria) this;
        }

        public Criteria andUpdatePeopleIdIn(List<String> values) {
            addCriterion("update_people_id in", values, "updatePeopleId");
            return (Criteria) this;
        }

        public Criteria andUpdatePeopleIdNotIn(List<String> values) {
            addCriterion("update_people_id not in", values, "updatePeopleId");
            return (Criteria) this;
        }

        public Criteria andUpdatePeopleIdBetween(String value1, String value2) {
            addCriterion("update_people_id between", value1, value2, "updatePeopleId");
            return (Criteria) this;
        }

        public Criteria andUpdatePeopleIdNotBetween(String value1, String value2) {
            addCriterion("update_people_id not between", value1, value2, "updatePeopleId");
            return (Criteria) this;
        }

        public Criteria andUpdateTmIsNull() {
            addCriterion("update_tm is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTmIsNotNull() {
            addCriterion("update_tm is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTmEqualTo(Date value) {
            addCriterion("update_tm =", value, "updateTm");
            return (Criteria) this;
        }

        public Criteria andUpdateTmNotEqualTo(Date value) {
            addCriterion("update_tm <>", value, "updateTm");
            return (Criteria) this;
        }

        public Criteria andUpdateTmGreaterThan(Date value) {
            addCriterion("update_tm >", value, "updateTm");
            return (Criteria) this;
        }

        public Criteria andUpdateTmGreaterThanOrEqualTo(Date value) {
            addCriterion("update_tm >=", value, "updateTm");
            return (Criteria) this;
        }

        public Criteria andUpdateTmLessThan(Date value) {
            addCriterion("update_tm <", value, "updateTm");
            return (Criteria) this;
        }

        public Criteria andUpdateTmLessThanOrEqualTo(Date value) {
            addCriterion("update_tm <=", value, "updateTm");
            return (Criteria) this;
        }

        public Criteria andUpdateTmIn(List<Date> values) {
            addCriterion("update_tm in", values, "updateTm");
            return (Criteria) this;
        }

        public Criteria andUpdateTmNotIn(List<Date> values) {
            addCriterion("update_tm not in", values, "updateTm");
            return (Criteria) this;
        }

        public Criteria andUpdateTmBetween(Date value1, Date value2) {
            addCriterion("update_tm between", value1, value2, "updateTm");
            return (Criteria) this;
        }

        public Criteria andUpdateTmNotBetween(Date value1, Date value2) {
            addCriterion("update_tm not between", value1, value2, "updateTm");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusIsNull() {
            addCriterion("delete_status is null");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusIsNotNull() {
            addCriterion("delete_status is not null");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusEqualTo(Short value) {
            addCriterion("delete_status =", value, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusNotEqualTo(Short value) {
            addCriterion("delete_status <>", value, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusGreaterThan(Short value) {
            addCriterion("delete_status >", value, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusGreaterThanOrEqualTo(Short value) {
            addCriterion("delete_status >=", value, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusLessThan(Short value) {
            addCriterion("delete_status <", value, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusLessThanOrEqualTo(Short value) {
            addCriterion("delete_status <=", value, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusIn(List<Short> values) {
            addCriterion("delete_status in", values, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusNotIn(List<Short> values) {
            addCriterion("delete_status not in", values, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusBetween(Short value1, Short value2) {
            addCriterion("delete_status between", value1, value2, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusNotBetween(Short value1, Short value2) {
            addCriterion("delete_status not between", value1, value2, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andOpportunityContractTypeIsNull() {
            addCriterion("opportunity_contract_type is null");
            return (Criteria) this;
        }

        public Criteria andOpportunityContractTypeIsNotNull() {
            addCriterion("opportunity_contract_type is not null");
            return (Criteria) this;
        }

        public Criteria andOpportunityContractTypeEqualTo(String value) {
            addCriterion("opportunity_contract_type =", value, "opportunityContractType");
            return (Criteria) this;
        }

        public Criteria andOpportunityContractTypeNotEqualTo(String value) {
            addCriterion("opportunity_contract_type <>", value, "opportunityContractType");
            return (Criteria) this;
        }

        public Criteria andOpportunityContractTypeGreaterThan(String value) {
            addCriterion("opportunity_contract_type >", value, "opportunityContractType");
            return (Criteria) this;
        }

        public Criteria andOpportunityContractTypeGreaterThanOrEqualTo(String value) {
            addCriterion("opportunity_contract_type >=", value, "opportunityContractType");
            return (Criteria) this;
        }

        public Criteria andOpportunityContractTypeLessThan(String value) {
            addCriterion("opportunity_contract_type <", value, "opportunityContractType");
            return (Criteria) this;
        }

        public Criteria andOpportunityContractTypeLessThanOrEqualTo(String value) {
            addCriterion("opportunity_contract_type <=", value, "opportunityContractType");
            return (Criteria) this;
        }

        public Criteria andOpportunityContractTypeLike(String value) {
            addCriterion("opportunity_contract_type like", value, "opportunityContractType");
            return (Criteria) this;
        }

        public Criteria andOpportunityContractTypeNotLike(String value) {
            addCriterion("opportunity_contract_type not like", value, "opportunityContractType");
            return (Criteria) this;
        }

        public Criteria andOpportunityContractTypeIn(List<String> values) {
            addCriterion("opportunity_contract_type in", values, "opportunityContractType");
            return (Criteria) this;
        }

        public Criteria andOpportunityContractTypeNotIn(List<String> values) {
            addCriterion("opportunity_contract_type not in", values, "opportunityContractType");
            return (Criteria) this;
        }

        public Criteria andOpportunityContractTypeBetween(String value1, String value2) {
            addCriterion("opportunity_contract_type between", value1, value2, "opportunityContractType");
            return (Criteria) this;
        }

        public Criteria andOpportunityContractTypeNotBetween(String value1, String value2) {
            addCriterion("opportunity_contract_type not between", value1, value2, "opportunityContractType");
            return (Criteria) this;
        }

        public Criteria andCustomerProductIdIsNull() {
            addCriterion("customer_product_id is null");
            return (Criteria) this;
        }

        public Criteria andCustomerProductIdIsNotNull() {
            addCriterion("customer_product_id is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerProductIdEqualTo(String value) {
            addCriterion("customer_product_id =", value, "customerProductId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductIdNotEqualTo(String value) {
            addCriterion("customer_product_id <>", value, "customerProductId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductIdGreaterThan(String value) {
            addCriterion("customer_product_id >", value, "customerProductId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductIdGreaterThanOrEqualTo(String value) {
            addCriterion("customer_product_id >=", value, "customerProductId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductIdLessThan(String value) {
            addCriterion("customer_product_id <", value, "customerProductId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductIdLessThanOrEqualTo(String value) {
            addCriterion("customer_product_id <=", value, "customerProductId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductIdLike(String value) {
            addCriterion("customer_product_id like", value, "customerProductId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductIdNotLike(String value) {
            addCriterion("customer_product_id not like", value, "customerProductId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductIdIn(List<String> values) {
            addCriterion("customer_product_id in", values, "customerProductId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductIdNotIn(List<String> values) {
            addCriterion("customer_product_id not in", values, "customerProductId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductIdBetween(String value1, String value2) {
            addCriterion("customer_product_id between", value1, value2, "customerProductId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductIdNotBetween(String value1, String value2) {
            addCriterion("customer_product_id not between", value1, value2, "customerProductId");
            return (Criteria) this;
        }

        public Criteria andContactIdIsNull() {
            addCriterion("contact_id is null");
            return (Criteria) this;
        }

        public Criteria andContactIdIsNotNull() {
            addCriterion("contact_id is not null");
            return (Criteria) this;
        }

        public Criteria andContactIdEqualTo(String value) {
            addCriterion("contact_id =", value, "contactId");
            return (Criteria) this;
        }

        public Criteria andContactIdNotEqualTo(String value) {
            addCriterion("contact_id <>", value, "contactId");
            return (Criteria) this;
        }

        public Criteria andContactIdGreaterThan(String value) {
            addCriterion("contact_id >", value, "contactId");
            return (Criteria) this;
        }

        public Criteria andContactIdGreaterThanOrEqualTo(String value) {
            addCriterion("contact_id >=", value, "contactId");
            return (Criteria) this;
        }

        public Criteria andContactIdLessThan(String value) {
            addCriterion("contact_id <", value, "contactId");
            return (Criteria) this;
        }

        public Criteria andContactIdLessThanOrEqualTo(String value) {
            addCriterion("contact_id <=", value, "contactId");
            return (Criteria) this;
        }

        public Criteria andContactIdLike(String value) {
            addCriterion("contact_id like", value, "contactId");
            return (Criteria) this;
        }

        public Criteria andContactIdNotLike(String value) {
            addCriterion("contact_id not like", value, "contactId");
            return (Criteria) this;
        }

        public Criteria andContactIdIn(List<String> values) {
            addCriterion("contact_id in", values, "contactId");
            return (Criteria) this;
        }

        public Criteria andContactIdNotIn(List<String> values) {
            addCriterion("contact_id not in", values, "contactId");
            return (Criteria) this;
        }

        public Criteria andContactIdBetween(String value1, String value2) {
            addCriterion("contact_id between", value1, value2, "contactId");
            return (Criteria) this;
        }

        public Criteria andContactIdNotBetween(String value1, String value2) {
            addCriterion("contact_id not between", value1, value2, "contactId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdIsNull() {
            addCriterion("customer_id is null");
            return (Criteria) this;
        }

        public Criteria andCustomerIdIsNotNull() {
            addCriterion("customer_id is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerIdEqualTo(String value) {
            addCriterion("customer_id =", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdNotEqualTo(String value) {
            addCriterion("customer_id <>", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdGreaterThan(String value) {
            addCriterion("customer_id >", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdGreaterThanOrEqualTo(String value) {
            addCriterion("customer_id >=", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdLessThan(String value) {
            addCriterion("customer_id <", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdLessThanOrEqualTo(String value) {
            addCriterion("customer_id <=", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdLike(String value) {
            addCriterion("customer_id like", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdNotLike(String value) {
            addCriterion("customer_id not like", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdIn(List<String> values) {
            addCriterion("customer_id in", values, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdNotIn(List<String> values) {
            addCriterion("customer_id not in", values, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdBetween(String value1, String value2) {
            addCriterion("customer_id between", value1, value2, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdNotBetween(String value1, String value2) {
            addCriterion("customer_id not between", value1, value2, "customerId");
            return (Criteria) this;
        }

        public Criteria andAccountIdIsNull() {
            addCriterion("account_id is null");
            return (Criteria) this;
        }

        public Criteria andAccountIdIsNotNull() {
            addCriterion("account_id is not null");
            return (Criteria) this;
        }

        public Criteria andAccountIdEqualTo(String value) {
            addCriterion("account_id =", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdNotEqualTo(String value) {
            addCriterion("account_id <>", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdGreaterThan(String value) {
            addCriterion("account_id >", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdGreaterThanOrEqualTo(String value) {
            addCriterion("account_id >=", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdLessThan(String value) {
            addCriterion("account_id <", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdLessThanOrEqualTo(String value) {
            addCriterion("account_id <=", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdLike(String value) {
            addCriterion("account_id like", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdNotLike(String value) {
            addCriterion("account_id not like", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdIn(List<String> values) {
            addCriterion("account_id in", values, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdNotIn(List<String> values) {
            addCriterion("account_id not in", values, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdBetween(String value1, String value2) {
            addCriterion("account_id between", value1, value2, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdNotBetween(String value1, String value2) {
            addCriterion("account_id not between", value1, value2, "accountId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIsNull() {
            addCriterion("company_id is null");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIsNotNull() {
            addCriterion("company_id is not null");
            return (Criteria) this;
        }

        public Criteria andCompanyIdEqualTo(String value) {
            addCriterion("company_id =", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotEqualTo(String value) {
            addCriterion("company_id <>", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdGreaterThan(String value) {
            addCriterion("company_id >", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdGreaterThanOrEqualTo(String value) {
            addCriterion("company_id >=", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdLessThan(String value) {
            addCriterion("company_id <", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdLessThanOrEqualTo(String value) {
            addCriterion("company_id <=", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdLike(String value) {
            addCriterion("company_id like", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotLike(String value) {
            addCriterion("company_id not like", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIn(List<String> values) {
            addCriterion("company_id in", values, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotIn(List<String> values) {
            addCriterion("company_id not in", values, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdBetween(String value1, String value2) {
            addCriterion("company_id between", value1, value2, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotBetween(String value1, String value2) {
            addCriterion("company_id not between", value1, value2, "companyId");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}